reduce 方法將一個累加器及陣列中每項元素(由左至右)傳入回呼函式,將陣列化為單一值。
const people = [
{ name: "Zoe", age: 28 },
{ name: "Liam", age: 32 },
{ name: "Emma", age: 26 },
{ name: "Noah", age: 30 },
{ name: "Olivia", age: 24 },
];
// 2. 使用 reduce 方法計算並返回所有人的平均年齡。
const MapNewage = people.map((age) => age.age);
console.log("Map重組只含Age屬性的陣列:", MapNewage);
let average = MapNewage.reduce((accumulator, currentValue) => {
return accumulator + currentValue / MapNewage.length;
}, 0);
console.log("reduce平均值:", average);
// 4. 找出陣列中最年輕的人
// 使用 reduce 方法從人員陣列中找出最年輕的人。
const youngMan = MapNewage.reduce((initial, big) => {
//(初始值,比較值)
if (big < initial) {
return big;
}
return initial;
});
console.log("最年輕的人:", youngMan, "歲");
// reduce 的基礎語法
// accumulator:經由個別 currentValue 加總的累計值
// currentValue:Array 的個別 item
// currentIndex:Array item 的索引
// array:呼叫該 Array method 的陣列
// initialValue:預設值,放在 function 的最後方,非必填